iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
AI & Data

DialogFlow從零開始30天系列 第 13

DialogFlow從零開始13天-Fulfillment and Webhook

  • 分享至 

  • xImage
  •  

前言:

   不寫code雖然就可以作出不錯的聊天機器人或服務,但即時性和變動性還是有server api即時資料比較好, 那就來寫code作服務和聊天機器人吧。

flow

Webhook:

 從Action on Google 的 對話流程圖來看,可以把Dialogflow想成大腦,Webhook當作手腳 ,當Dialogflow了解完語意後,要去透過Webhook來作事情,來完成回覆或完成事件例如:問天氣,開燈關燈等等。

實作Fulfillment

  如果完成了Webhook的動作,就要透過Fulfillment設定來把意圖和Webhook的動作連接起來,就可以完成有即時性和變動性的服務啦。

Fulfillment

Inline Editor

   在Fulfillment內的設定提供兩種Webhook設定的方法,先來介紹Inline Editor,打開開關後,就可以直接在Fulfillment的Inline Editor內直接線上寫code,而且基本的node.js code已經寫好了是不是很方便。
'use strict';
 
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
 
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
 
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });
  console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
  console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
 
  function welcome(agent) {
    agent.add(`Welcome to my agent!`);
  }
 
  function fallback(agent) {
    agent.add(`I didn't understand`);
    agent.add(`I'm sorry, can you try again?`);
  }

   let intentMap = new Map();
  intentMap.set('Default Welcome Intent', welcome);
  intentMap.set('Default Fallback Intent', fallback);
    agent.handleRequest(intentMap);
});
使用心得:
   打開Inline Editor,是會在cloud function佈版,要先前往Google Cloud Console設定帳單,才可以使用哦。

參考:
https://codelabs.developers.google.com/codelabs/actions-1/#0


上一篇
DialogFlow從零開始12天-不用coding實例2-iT邦幫忙鐵人賽小精靈
下一篇
DialogFlow從零開始14天-Webhook開發資源
系列文
DialogFlow從零開始30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
arguskao
iT邦新手 4 級 ‧ 2022-05-23 17:35:48

有一張破圖,可以補上嗎?

0
arguskao
iT邦新手 4 級 ‧ 2022-05-23 17:36:49

打開Inline Editor,是會在cloud function佈版,要先前往Google Cloud Console設定帳單,才可以使用哦。

所以是要收費的嗎?

我要留言

立即登入留言